//
//  MLDiscoverSearchView.swift
//  SinaWeibo
//
//  Created by 李亮亮 on 16/4/6.
//  Copyright © 2016年 Big Fish. All rights reserved.
//

import UIKit

class MLDiscoverSearchView: UIView {

    // 取消按钮
    @IBOutlet weak var cancelBtn: UIButton!
    // 搜索框
    @IBOutlet weak var textView: MLTextField!
    // 搜索框右边约束
    @IBOutlet weak var rightCons: NSLayoutConstraint!
    
    
    override func awakeFromNib() {
       
        // 设置大小
        self.frame = CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, self.bounds.height)
        
        // 设置leftView
        textView.leftView = UIImageView(image: UIImage(named: "searchbar_textfield_search_icon"))
        textView.leftView?.frame = CGRectMake(0, 0, self.bounds.height, self.bounds.height)
        
        // 设置图片显示模式
        textView.leftView?.contentMode = .Center
        
        // 需要设置leftView为始终显示
        textView.leftViewMode = .Always
        
        // 设置输入框为圆角
//        textView.layer.cornerRadius = 8
//        textView.layer.masksToBounds = true
        
    }
    
    // 类方法  加载 xib
    class func loadSearchView() -> MLDiscoverSearchView {
        let v = NSBundle.mainBundle().loadNibNamed("MLDiscoverSearchView", owner: nil, options: nil).last as! MLDiscoverSearchView
        return v
    }
    
    
    // 自动布局的动画执行
    // 1. 修改约束
    // 2. 在动画闭包中强制刷新页面
    @IBAction func beginEdit(sender: AnyObject) {
        // 修改约束
        // 系统只是收集了约束的变化,会在layoutSubViews方法中去更新页面
        rightCons.constant = cancelBtn.bounds.width + 6
        
        // 在动画闭包中执行强制刷新页面
        // 系统默认的动画时间是 0.25
        UIView.animateWithDuration(0.25) {
            // 提前刷新页面
            // 是根据自动布局来修改frame
            self.layoutIfNeeded()
        }
    }
    
    @IBAction func cancelBtnDidClick(sender: AnyObject) {
        // 取消键盘的第一响应者
        textView.resignFirstResponder()
        rightCons.constant = 0
        UIView.animateWithDuration(0.25) { 
            self.layoutIfNeeded()
        }
    }
    
}
